/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package co.edu.univalle.proyecto.logica;

import co.edu.univalle.proyecto.modelo.Formatos;
import co.edu.univalle.proyecto.modelo.Usuarios;
import co.edu.univalle.proyecto.persistencia.FormatosDAOLocal;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.Stateless;

/**
 *
 * @author CQ 43 - 450LA
 */
@Stateless
public class FormatosLogica implements FormatosLogicaLocal {

       @EJB
    private FormatosDAOLocal formatosDAO;
    @Override
    public void registrar(Formatos formato) throws Exception {
      if(formato==null){
            throw new Exception("El formato no tiene los datos necesarios");
        }
           if(formato.getIdft()==null){
            throw new Exception("El formato debe tener un id ");
        }
          
        Formatos objFormato = formatosDAO.consultarPorNombre(formato.getNombreFT());
        if(objFormato != null){
            throw new Exception("El formato ya Existe");
        }
        
        if(formato.getNombreFT()==null || formato.getNombreFT().equals("")){
            throw new Exception("El nombre no puede ser vacío");
        }
        formatosDAO.registrar(formato);
    }

    @Override
    public void eliminar(Formatos formato) throws Exception {
       if(formato==null){
            throw new Exception("El formato no tiene los datos necesarios");
        }
          
        Formatos objFormato = formatosDAO.consultarPorNombre(formato.getNombreFT());
        if(objFormato == null){
            throw new Exception("El formato a eliminar no Existe");
        }
        
       
        formatosDAO.eliminar(formato);
    }

    @Override
    public void modificar(Formatos formato) throws Exception {
   
        if(formato==null){
            throw new Exception("El formato no tiene los datos necesarios");
        }
           if(formato.getIdft()==null){
            throw new Exception("El formato debe tener un id ");
        }
          
        Formatos objFormato = formatosDAO.consultarPorNombre(formato.getNombreFT());
        if(objFormato == null){
            throw new Exception("Este formato ya no Existe");
        }
        
        if(formato.getNombreFT()==null || formato.getNombreFT().equals("")){
            throw new Exception("El nombre no puede ser vacío");
        }
        formatosDAO.modificar(formato);
    }

    @Override
    public List<Formatos> consultar() throws Exception {
        return formatosDAO.consultar();
    }

    @Override
    public Formatos consultarPorNombre(String nombre) throws Exception {
               
if(nombre==null || nombre.equals("")){
            throw new Exception("El Nombre es obligatorio");
        }
        return formatosDAO.consultarPorNombre(nombre);
    }

    @Override
    public List<Formatos> consultarFormatosPorProceso(String proceso) throws Exception {
                      
if(proceso==null || proceso.equals("")){
            throw new Exception("El Proceso es obligatorio");
        }
        return formatosDAO.consultarFormatosPorProceso(proceso);
    }

    // Add business logic below. (Right-click in editor and choose
    // "Insert Code > Add Business Method")
}
